package com.jwsoft.manager.core.integration;

import com.bifang.assistant.common.vo.BaseVO;
import com.github.pagehelper.PageInfo;
import com.jwsoft.manager.common.vo.eduAddress.*;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 地址表业务本地接口
 *
 * @author wangtao
 * @since 2022-11-24
 */
public interface EduAddressIntegration {
    /** 分页查询 */
    PageInfo<EduAddressVO> getList(EduAddressQueryVO vo);
    /** 根据主键查询详情 */
    EduAddressVO getById(EduAddressKeyVO vo);
    /** 保存前统一校验*/
    void checkSave(EduAddressVO vo);
    /** 新增 */
    EduAddressVO add(EduAddressVO vo);
    /** 修改 */
    EduAddressVO edit(EduAddressVO vo);
    /** 根据主键删除 */
    void del(EduAddressKeyVO vo);

    PageInfo<EduAddressVO> getParentAdderssList(SchoolAddressQueryVO vo);

    void delAddressSchoolData(EduAddressVO vo);

    void exportAddressInfo(SchoolAddressQueryVO vo, HttpServletResponse response);
    /**
     * 设置地址库的行政区划
     * */
    void setAreaCode(BaseVO vo);

    /**
     * 修改错误地址状态
     * @param vo
     */
    void markToNoProcessing(EduAddressBatchKeyVO vo);


    /**
     * 得到账号可以显示的地址信息。
     * @param vo
     * @return
     */
    List<EduAreaInfoVO> getAreaInfo(BaseVO vo);

    /**
     * 处理错误地址
     *
     * @param vo
     */
    void updateErrorAddress(EduAddressKeysVO vo);

    /**
     * 解析并修改edu_address中的地址信息
     *
     * @param eduAddressVO 地址信息
     * @author fangs
     */
    void parseAddressForJob(EduAddressVO eduAddressVO);

    PageInfo<EduAddressStatisticsVO> toBeReviewedAddressStatistics(EduAddressQueryVO vo);

}
